package com.microservice.base.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import java.util.Date;

/**
 * @program: common
 * @description: TreeviewUserVo
 * @author: firstSeven
 * @create: 2019/01/31
 */
@Data
public class TreeviewUserVo {
    //主键
    @Length(min = 0, max = 36)
    @ApiModelProperty(value = "主键", notes = "主键", allowEmptyValue = false, required = false)
    private String id;
    //学校编码
    @Length(min = 0, max = 20)
    @ApiModelProperty(value = "学校编码", notes = "学校编码", allowEmptyValue = false, required = false)
    private String schoolCode;
    //用户id
    @Length(min = 0, max = 36)
    @ApiModelProperty(value = "用户id", notes = "用户id", allowEmptyValue = false, required = false)
    private String userId;
    private String userType;
    //通用树id
    @Length(min = 0, max = 36)
    @ApiModelProperty(value = "通用树id", notes = "通用树id", allowEmptyValue = false, required = false)
    private String treeviewId;
    private String tvType;
    private String tvParentid;
    //权限（逗号分隔）1、请假审批，2、归宿考勤申诉，3、校门出入申诉，4、课程考勤申诉；
    @ApiModelProperty(value = "权限（逗号分隔）1、请假审批，2、归宿考勤申诉，3、校门出入申诉，4、课程考勤申诉；")
    private String authority;
    //任职结束时间
    private String positionTime;
    //是否是重要职务
    private String importancePosition;
    //职务id
    @Length(min = 0, max = 0)
    @ApiModelProperty(value = "职务id", notes = "职务id", allowEmptyValue = false, required = false)
    private String positionId;
    //状态
    @Length(min = 0, max = 10)
    @ApiModelProperty(value = "状态", notes = "状态", allowEmptyValue = false, required = false)
    private String status;
    //1：已删除，0：正常
    @Length(min = 0, max = 1)
    @ApiModelProperty(value = "1：已删除，0：正常", notes = "1：已删除，0：正常", allowEmptyValue = false, required = false)
    private String deleted;
    //更新时间
    @ApiModelProperty(value = "更新时间", notes = "更新时间", allowEmptyValue = false, required = false)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;
}
